import plugin from '../../lib/plugins/plugin.js';
import { segment } from "oicq";
import cfg from '../../lib/config/config.js';
//获取现在的时间，精确到秒
let now = new Date();
let time;
//如果现在时间没有超过六点整
if(now.getHours() < 6){
    //计算从现在到六点整还剩多少秒
     time = (6 * 3600 - now.getHours()) * 3600 - now.getMinutes() * 60 - now.getSeconds();}
else{
    //计算从现在到第二天六点整还剩多少秒
     time = (24 - now.getHours()) * 3600 - now.getMinutes() * 60 - now.getSeconds() + 6 * 3600;}

export class sleep extends plugin {
    constructor() {
        super({
            name: "一键入睡",
            dsc: "一键入睡",
            event: "message",
            priority: -100,
            rule: [
                {
                    reg: '^#一键入睡(.*)$',
                    fnc: 'sleep',
                },
                {
                    reg: '^#大被同眠(.*)$',
                    fnc: 'sleep2',
                },
                {
                    reg: '^我要睡觉了$',
                    fnc: 'sleep3',
                }
            ],
        });
    }


async sleep(e) {
//获取现在的时间，精确到秒
let now = new Date();
let time;
//如果现在时间没有超过六点整
if(now.getHours() < 6){
    //计算从现在到六点整还剩多少秒
     time = 6 * 3600 - now.getHours() * 3600 - now.getMinutes() * 60 - now.getSeconds();}
else{
    //计算从现在到第二天六点整还剩多少秒
     time = (24 - now.getHours()) * 3600 - now.getMinutes() * 60 - now.getSeconds() + 6 * 3600;}
//判断是否有人被艾特
if(!e.at){
    e.reply("要艾特你想助眠的群友哦~")
    return true;
}else{
    //判断被艾特的人是否是管理员或者主人
    if (e.group.pickMember(e.at).is_admin || e.group.pickMember(e.at).is_owner || cfg.masterQQ.indexOf(e.at) > -1) {
     e.reply("小凛做不到哦~")}else{    
    e.group.muteMember(e.at, time );
    e.reply([segment.at(e.at), "乖乖睡觉了喵~"]);}
;}}


async sleep2(e) {
//获取现在的时间，精确到秒
let now = new Date();
let time;
//如果现在时间没有超过六点整
if(now.getHours() < 6){
    //计算从现在到六点整还剩多少秒
     time = 6 * 3600 - now.getHours() * 3600 - now.getMinutes() * 60 - now.getSeconds();}
else{
    //计算从现在到第二天六点整还剩多少秒
     time = (24 - now.getHours()) * 3600 - now.getMinutes() * 60 - now.getSeconds() + 6 * 3600;}
//判断是否有人被艾特
if(!e.at){
    e.reply("要艾特你想共眠的群友哦~")
    return true;
}else{
    //判断被艾特的人是否是管理员或者主人
    if (e.group.pickMember(e.at).is_admin || e.group.pickMember(e.at).is_owner || cfg.masterQQ.indexOf(e.at) > -1) {
     e.reply("小凛不同意！")
     e.group.muteMember(e.sender.user_id,time)
     e.reply('你一个人睡吧，哼！')}else{
    //禁言被艾特的群友直到第二天六点
    e.group.muteMember(e.at, time );
    //禁言发送命令者直到第二天六点
    e.group.muteMember(e.sender.user_id, time );
    e.reply( "祝你们睡个好觉哦~");
   
 }}}
async sleep3(e) {
   //获取现在的时间，精确到秒
let now = new Date();
let time;
//如果现在时间没有超过六点整
if(now.getHours() < 6){
    //计算从现在到六点整还剩多少秒
     time = 6 * 3600 - now.getHours() * 3600 - now.getMinutes() * 60 - now.getSeconds();}
else{
    //计算从现在到第二天六点整还剩多少秒
     time = (24 - now.getHours()) * 3600 - now.getMinutes() * 60 - now.getSeconds() + 6 * 3600;}
    //禁言发送命令者直到第二天六点
    e.group.muteMember(e.sender.user_id, time );
    e.reply("晚安喵，祝你安然入梦，明朝精神焕发喵~")} 
}